pox: support binary lookups in the chroot
pox: support binary lookups in the chroot

It'd be nice to say `pox -r foo`, instead of `pox -r /bin/foo`.
If you pass a program name without a slash, exec.Command() will look it
up in *pox's* PATH, which is outside the chroot, and then use that name
inside the chroot for execve().

This gets confusing, especially if you have a program that exists in
multiple places on your system, such as /bin/bash and /usr/bin/bash.  If
exec.Command() translated 'bash' to /usr/bin/bash, then when you enter
the chroot, execve() will fail.  If you got lucky and it found your
host's /bin/bash, that name will continue to work inside the chroot.

This commit helps the user out a little.  If you pass a name that has no
path separators, it will assume you wanted /bin.  This might not be
correct, but at least you'll see what it did:

$ sudo ./pox -d -r -z -- no-prog
2020/01/16 16:07:11 pox command exited with: fork/exec /bin/no-prog: no such file or directory

Signed-off-by: Barret Rhoden <66a4aaafefe344f5385586b74770760469cbac80@google.com>

hugelgupf/u-root,u-root/u-root,hugelgupf/u-root,GanShun/u-root,hugelgupf/u-root,hugelgupf/u-root,GanShun/u-root,GanShun/u-root,u-root/u-root,u-root/u-root