我想编写一个程序 Shellcode.c,它接受输入一个文本文件,其中包含由换行符分隔的 bash 命令,并执行文本文件中的每个命令:例如,文本文件将包含:
echo Hello World
mkdir goofy
ls
我试过这个(只是为了开始练习其中一个 exec 函数):
#include <stdio.h>
#include <unistd.h>
void main() {
char *name[3];
name[0] = "echo";
name[1] = "Hello World";
name[2] = NULL;
execvp("/bin/sh", name);
}
我得到,作为回报,
echo: Can't open Hello World
我被 execvp 函数卡住了,我哪里出错了?