【发布时间】:2021-03-15 09:49:06
【问题描述】:
这个程序叫做program.c。当我运行./program echo test 时,我希望程序打印test,即使该命令是在子shell 中运行的。为什么输出是空行?它与文件路径有关吗?当我尝试./program /bin/echo test 时,我仍然得到一个空行输出。
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int function(char **argv) {
execl("/bin/bash", "sh", "-c", *argv, argv, (char*)NULL);
}
int main(int argc, char **argv) {
int return2;
function(argv + 1);
}
【问题讨论】: