D. J. Bernstein
UNIX
daemontools

The envuidgid program

envuidgid runs another program with environment variables indicating a specified account's uid and gid.

Interface

     envuidgid account child
account is a single argument. child consists of one or more arguments.

envuidgid sets $UID to account's uid and $GID to account's gid. It then runs child.

envuidgid exits 111 if it cannot find a UNIX account named account, if it runs out of memory for environment variables, or if it cannot run child. Otherwise its exit code is the same as that of child.