Question: I have a file that I want a normal user to be able to run. For example

./file argument1 argument2 arguement3

However, I want to restrict the user so that is the ONLY thing he can do. I don't want him to be able to access any other folders or files, basically run that file and that is it. I have heard of rbash but wasn't sure on the security etc.

I can put the file in each users home directory if that helps.

Answer: 
If you are just looking for a safe way to give your user a program to be executed, Unix and Linux already provide this feature by default. 

Just put the executable file in the user's home directory (having the user being the "owner" of the file). 

A Unix/Linux user (and any program executed on behalf of this user) cannot access other user's directories/files (in particular, he/she cannot access the stuff that belongs to "root").

This approach is usually considered more than safe for most applications.

If your needs go behind this line, you can use chroot to "jail" your executable program. See here:

<http://en.wikipedia.org/wiki/Chroot> 

This technique is often used to jail a possibly dangerous program that runs on the machine while exposed on the Net (a HTTP or FTP server, for example).
The hard part is that you would have to make sure that ever filesystem resource (file/dir) has permission signature ending with 0 (e.g. 750), meaning that read, write, execute is never left permitted to [`other`](http://www.zzee.com/solutions/unix-permissions.shtml) (someone who is not the owner or belongs to the group associated with that filesystem element). Then, you would add that user who belongs to no groups and make him the owner of that file in his home directory.

If there is a better way, I would like to know.