As 'root', when running a script resident on the external drive mounted at /media/disk I receive the following error:
/bin/sh: bad interpreter: Permission denied
Are you sure the script isn't in DOS format, with CRLF line endings? If so then the interpreter it's trying to run is actually /bin/sh^M (with a control-M at the end). Which is wrong :-)
Try running dos2unix on it and trying it again.