To rule out the simple things, have you made sure that your sh file is correctly chmod'd to execute? Also, you might have to run a direct command to run the sh file, like so:
Kind regards,
Josh
Edit - I didn't see your edit.... my fault for not reading too thoroughly
As a note though, you could also use "bash" instead of sh, if the file contains strictly bash code, or zsh, etc...