Environment variables will show up in ps auxwwe If you can modify the program, you probably want to use a pipe or a file. Some folks like to rewrite argv to not include the sensitive data, but there's still a narrow race window with this approach, and it isn't astonishingly portable, either. Another possibility is to use another machine that doesn't have untrusted users on it, or use some form of virtualization technology to emulate having a dedicated machine (like VMWare, QEMU, Xen, Solaris' Zones, FreeBSD Jails, &c). If you can't modify the program, you probably should complain to the vendor.