将临时 libc 与作为另一个工具参数的工具一起使用

Using an ad-hoc libc with a tool which is an argument of another tool

我需要使用特定的 libc 来 运行 一个工具 (cp)。问题是这个工具必须用作另一个工具的参数(例如超时),我不想将修改后的 libc 与这个工具一起使用。

我试过:

timeout 10 LD_LIBRARY_PATH=/path/to/mod/libc/ cp a b

但是我收到错误:

timeout: failed to run command 'LD_LIBRARY_PATH=/path/to/mod/libc/': No such file or directory

而且,正如我所说,我做不到:

LD_LIBRARY_PATH=/path/to/mod/libc/ timeout 10 cp a b

as 超时将使用修改后的 libc。有什么办法吗?

您可以使用 env 实用程序来实现:

timeout 10 /usr/bin/env LD_LIBRARY_PATH=/path/to/mod/libc/ cp a b

Env 将设置环境变量并使用该环境执行其他实用程序。