|
|
|
|
|
by colinsane
702 days ago
|
|
> This minimal meta-loader will totally work if you invoke it directly like `$ meta_loader.sh foo`, and it will totally not work if you hardcode its path (or a symlink to it) in the ELF headers of a binary. why not have `foo` be a shell script which invokes the meta loader on the "real" foo? like: ```
#!/bin/sh
# file: /bin/foo # invoke the real "foo" (renamed e.g. ".foo-wrapped" or "/libexec/foo" or anything else easy for the loader to locate but unlikely to be invoked accidentally)
exec meta_loader.sh .foo-wrapped "$@"
``` it's a common enough idiom that nixpkgs provides the `wrapProgram` function to generate these kinds of wrapper scripts during your build: even with an option to build a statically-linked binary wrapper instead of a shell-script wrapper (`makeBinaryWrapper`). |
|