#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <stdlib.h>
int main()
{
char *envp[]={"PATH=/tmp","USER=sunq",NULL};
pid_t pid;
pid=fork();
if(pid==-1)
{
perror("fork");
exit(1);
}
else if(pid==0)
{
execle("/bin/env","env",NULL,envp);
// 路径 参数必须以空指针结尾 环境变量
}
else
{
printf("\nin the parent process!");
}
return 0;
}
/*
execle()用来执行参数path字符串所代表的文件路径(绝对路径),第二个参数代表执行文件
时传递的argv,必须跟个空指针结束。第三个参数是带入的环境变量
*/
运行后输出以下内容:
PATH=/tmp
USER=sung