相关疑难解决方法(0)

C - 使用Execvp执行Bash命令

我想编写一个程序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函数,我哪里出错了?

c bash execvp

8
推荐指数
3
解决办法
3万
查看次数

标签 统计

bash ×1

c ×1

execvp ×1