SQL Server Msg 2812, level 16 state 62 line 30
It would need to be EXEC(@cmd) not EXEC @cmd.

Without the parentheses it looks to find a stored procedure with the same name as the string inside @cmd.

Hence the error you are seeing of


  Could not find stored procedure 'RESTORE LOG yogamanual FROM DISK =
  'D:\shared241\yogamanual-0954.trn' WITH NORECOVERY'.