The LSNs were out of sync, it now works fine. The tutorial I was following starts by taking a full and transaction log backup but never restores the transaction log so when the agent job kicks in it can't find the appropriate log file. I set up Log Shipping from scratch, not taking a log backup and it worked like a charm.
Thanks to everyone for your suggestions.