首页 > 解决方案 > 如何在通过 execl 打开的 bin/sh 上调用 shell 命令

问题描述

在我的代码中,我使用 execve() 在特定位置执行文件。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define FILE "newFolder/program"

int main() {

    char *n[] = { FILE,  NULL };
    execve(FILE, n, NULL);
    perror("execve");

    exit(1);
}

我没有完整的源代码,FILE但我知道它以以下结尾:

execl("/bin/sh", "/bin/sh", NULL);

有没有办法让我通过调用的代码在打开的文件上FILE执行 shell 命令(即ls -la)?bin/shFILE

标签: clinux

解决方案


推荐阅读