我想编写一个程序Shellcode.c,它在输入中接受一个文本文件,其中包含由换行符分隔的bash命令,并执行文本文件中的每个命令:例如,文本文件将包含:
echo Hello World
mkdir goofy
ls
Run Code Online (Sandbox Code Playgroud)
我试过这个(只是开始练习一个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);
}
Run Code Online (Sandbox Code Playgroud)
作为回报,我得到了
echo: Can't open Hello World
Run Code Online (Sandbox Code Playgroud)
我坚持使用execvp函数,我哪里出错了?