You are asking several questions
1. you can compile a shell script using the shc tool, you have to compile the tool on your machine.
Francisco Rosales, home page
2. DO NOT make the users shell the shell script
3. One of the best approaches is to chroot the user. Create a chroot jail. The only downside is that you have to have copies of ALL the shells, commands the shell scripts call, and any special application code etc., - inside the jail. One copy for everybody is fine. Even if the use gets "out" of the menu somehow, he/she cannot do much.
This gives an overview and some howto. If you want to try it there are dozens of tutorials on the net. google for 'chroot howto'
Best Practices for UNIX chroot() Operations
4. another choice is to use a restricted shell - usually /bin/rsh as the login shell, check your documentation.
Run the menu under that shell. Again it may or may not be a choice, but check it out anyway.
On purpose, I kinda ignored the signal trapping. When you set things up well to start with, signal trapping is a lesser concern.