当我调用二进制文件时,我需要覆盖第一个参数.
由于这是程序名称,我有两个解决方案:
但是,有时我需要完全删除第一个参数.
我用C编写了一个简单的程序来完成这项工作:
#include <unistd.h>
int main(int argc, char **argv)
{
return execve(argv[1], NULL, NULL);
}
Run Code Online (Sandbox Code Playgroud)
我有一个内置的方式来做shell吗?首选bash的解决方案.
您可以使用覆盖它exec -a,但不能将其设置为未设置.
例如,运行busybox与argv[0]设置为ls:
( exec -a ls busybox )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |