Database stuck in restoring mode during log shipping
This is expected behavior for a log shipping job set to norecovery.  The logs are being restored with norecovery, which means that more logs can be restored on top, which is what you want.  No other transactions can occur on the target database;  it's a copy of the original.  If something goes wrong with the original, you bring the target online with Restore YourDB with recovery. 

I've never used log shipping with any options other than norecovery, but there's also a standby option that will allow the target database to be used read-only (but the users will all be kicked off during the next restore). If this doesn't suit your requirements, maybe you need to look at something other than log shipping.