When you want to setup replication from back up, you do not have to run snapshot agent, because you are already doing the work of snap shot agent by restoring the back up to subscriber.
I would suggest that you drop the publication & subscription and follow the folling steps.
• Set up Publication.
• Set transaction retention to 120 hours for distribution
• Disable the distribution clean up job on the distribution DB
• Setup Publication and set the "allow initalization from backup files" option for the publication
• Make a full backup of the database on the publisher DB
• Restore the full backup on the subscriber DB
• Ran the following stored procedure on the publication database:
-- Run this on publisher DB
@publication ='Publication Name', --Publication Name
@subscriber='servername', --servername of subscriber
@destination_db='SubscriberDB Name', -- Database name where you want to replicate the data
@sync_type = 'initialize with backup',
@backupdevicetype = 'disk',
@backupdevicename = 'Location where the backup was placed' --Location where the back up was placed on subscriber.