$ /bin/bash -c 'echo qqq'
qqq
$ /lib/ld-linux.so.2 /bin/bash -c 'echo qqq'
/bin/bash: xmalloc: ../bash/variables.c:2176: cannot allocate 3 bytes (8192 bytes allocated)
なぜこのようなことが起こるのでしょうか (zsh4、python はこのユースケースではうまく機能します)? 「prelink」が原因でしょうか?
答え1
amd64 アーキテクチャ上の 32 ビット ライブラリで 64 ビット バイナリを呼び出そうとしている可能性があります。私の場合:
ls -l /lib/ld-linux.so.2
/lib/ld-linux.so.2 -> /lib32/ld-linux.so.2