• l(list) : 表示参数采用列表;
  • v(vector) : 参数用数组;
  • p(path) : 有 p 自动搜索环境变量 PATH;
  • e(env) : 表示自己维护环境变量;
#include <unistd.h>
int execl(const char *path, const char *arg, ...);
int execlp(const char *file, const char *arg, ...);
int execle(const char *path, const char *arg, ...,char *const envp[]);
int execv(const char *path, char *const argv[]);
int execvp(const char *file, char *const argv[]);
  • 如果函数名包含 p(如 execlpexecvp),则参数用 file,系统会从 PATH 环境变量中查找可执行文件
  • 如果函数名不包含 p(如 execlexecv),则参数用 path,必须提供完整路径或相对路径,否则会失败

arg 第一个参数一般是执行的命令本身(约定)