The potential problem is that an external drive could contain binaries or scripts intended for a different operating system, and accidentally executing one could have unfortunate results.
For just running the occasional script, you can directly invoke the shell (or perl
, or python
, or whatever other interpreter the script requires) and pass it the name of the script file. As far as the OS is concerned, the interpreter is just reading
that file, and execute permission is irrelevant.
bash some_script_file arg1 arg2 ...
This isn't going to work, though, if that script tries to execute other programs or scripts from that noexec