在 shell 脚本中执行命令时设置 LD_PRELOAD

Coa*_*aku 3 linux bash shell

我想执行这样的命令:“ LD_PRELOAD=/path/to/my/so ./a.out

所以我写了一个shell脚本:

cmd="LD_PRELOAD=/path/to/my/so ./a.out"
${cmd}
Run Code Online (Sandbox Code Playgroud)

发生了错误:

LD_PRELOAD=/path/to/my/so : no such file or directory
Run Code Online (Sandbox Code Playgroud)

顺便说一句,该文件/path/to/my/so存在,我可以在 bash 中成功执行该命令。

哪里不对了?

Ern*_*ill 6

在你的脚本中做这样的事情会更传统:

export LD_PRELOAD=whatever
./a.out
Run Code Online (Sandbox Code Playgroud)