.TH ENV 1 .SH NAME env \- set environment for command .SH SYNOPSIS .B env .RB [ \-ia ] .RI [ name\fB=\fIvalue "] ..." .RI [ utility .RI [ argument "...]]" .SH DESCRIPTION .B Env modifies its environment according to the .IB name = value arguments, and executes .I utility with the given arguments and the modified environment. .PP If no utility is specified then the modified environment is printed as .IB name = value strings, one per line. .SH OPTIONS .TP .B \-i Use exactly the environment specified by the arguments; the inherited environment is ignored. .TP .B \-a Specify all arguments for the utility, i.e. the first of the arguments is used as .BR "argv[0]" , the program name. Normally the program name is .I utility itself. .SH ENVIRONMENT .TP 8n .B PATH The path used to find utility. It is as modified by .BR env , i.e. .B not the inherited .BR PATH . .SH "SEE ALSO" .BR sh (1), .BR execvp (3), .BR environ (5). .SH DIAGNOSTICS The return code is .B 0 after successfully printing the environment, .B 1 on an error within .BR env , .B 126 if the .I utility could not be executed, or .B 127 if .I utility could not be found. Appropriate diagnostic messages are printed on standard error. If .I utility can be executed then it replaces .BR env , so the return code is then the return code of .IR utility . .SH NOTES When run from the standard shell .B env is only useful with options or without arguments. Otherwise the shell can do exactly what .B env can do, simply omit the word "env" on the command line. .PP One interesting use of .B env is with #! on the first line of a script to forge a PATH search for an interpreter. For example: .PP .RS #!/usr/bin/env perl .RE .PP This will find the Perl interpreter if it is within the user's PATH. Most UNIX-like systems have .B env in /usr/bin, but .B perl may be anywhere. .SH AUTHOR Kees J. Bot