Meu palpite é que você não tem o vinculador dinâmico correto no sistema Busybox.
No seu sistema Arch, faça o seguinte: ldd ./simplestprogram
Eu imagino que ldd
fornecerá uma saída semelhante a esta:
linux-vdso.so.1 => (0x00007fff9b34f000)
libc.so.6 => /lib64/libc.so.6 (0x0000003b19e00000
/lib64/ld-linux-x86-64.so.2 (0x0000003b19a00000)
Essa última linha, /lib64/ld-linux-x86-64.so.2
é o vinculador dinâmico. Aposto que não está presente no seu sistema Busybox.
Eu compilei um programa "hello, world" no meu laptop Arch, usei vim
no modo binário para alterar /lib64/ld-linux-x86-64.so.2
para /lib65/ld-linux-x86-64.so.2
, salvei e tentei executá-lo. Eu recebi a mesma mensagem "arquivo não encontrado" que você recebeu.
Você pode nem ter o arquivo libc.so
no seu sistema Busybox. É possível que apenas copiar os arquivos libc.so
e vinculadores dinâmicos dos sistemas Arch para o Busybox (preservando diretórios!) Possa funcionar, mas talvez não. Eu não tenho certeza.
Uma coisa para tentar: instale musl
na sua máquina Arch. Compile seu programa simples com musl-gcc -static -o simple simple.c
, mova esse executável, que não tem nada vinculado dinamicamente, e experimente-o no sistema Busybox.