Pass bash script parameters to sub-process unchanged
When a shell script wraps around an executable, and if you do not want to do anything after the executable completes (that's a common case for wrapper scripts, in my experience), the correct way to call the executable is:
exec /the/exe "$@"
The exec
built-in tells the shell to just give control to the executable without forking.
Practically, that prevents a useless shell process from hanging around in the system until the wrapped process terminates.
That also means that no command can be executed after the exec
command.