C - exec用参数执行命令吗?

时间:2018-05-07 07:51:31

标签: c command exec

我正在尝试运行一个简单的C程序,该程序使用一些参数执行命令:

  

ls -l -a -i

我搜索了有关exec家庭的信息,但不了解所有不同的exec来电和使用哪一个。

我的节目是:

int main(int argc, char **argv)
{
    const char *cmd = "ls";
    const char *args[3];
    args[0] = "-l";
    args[1] = "-a";
    args[2] = "-i";

    execv(cmd, args); /* this line does not work */

    return 0;
}

我认为execv被调用:

  • char *cmd作为命令
  • char *args[]作为参数

但我收到所有不同组合和尝试的错误。

1 个答案:

答案 0 :(得分:1)

在这里,您是一段有效的代码,您应该将其作为参考来成功完成任务:

char* arr[] = {"ls", "-l", "-a", "-i", NULL};

execv("/bin/ls", arr);