Warum schlägt das Programm fehl, wenn es mit /lib/ld-linux.so.2 gestartet wird?

Warum schlägt das Programm fehl, wenn es mit /lib/ld-linux.so.2 gestartet wird?
$ /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)

Warum passiert das (zsh4, Python funktioniert in diesem Anwendungsfall gut)? Kann es durch „Prelink“ verursacht werden?

Antwort1

Möglicherweise versuchen Sie, eine 64-Bit-Binärdatei mit einer 32-Bit-Bibliothek auf einer amd64-Architektur aufzurufen. In meinem Fall:

ls -l /lib/ld-linux.so.2
/lib/ld-linux.so.2 -> /lib32/ld-linux.so.2

Antwort2

Wie angedeutet vonbarti-ddu, es ist wahrscheinlichein Käfer

Eine der Problemumgehungen besteht darin, die zufällige Kernelzuweisung zu deaktivieren:

echo 0 > /proc/sys/kernel/randomize_va_space

verwandte Informationen