LD_PRELOAD não está usando a biblioteca correta

LD_PRELOAD não está usando a biblioteca correta

Estou tentando substituir um link dinâmico em um executável.

Eu tenho um "programa" executável

O comando:

ldd program 

saídas: libstdc++.so.6 => /lib64/libstdc++.so.6

Eu tenho uma biblioteca também:

ldd a.so

saídas: libstdc++.so.6 => /mydir/libstdc++.so.6

Tentei substituir o link no programa executável fazendo:

setenv LD_PRELOAD a.so

agora, quando executo meu executável, recebo:

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

por que está tentando lerlibstdc++.so.6de/lib64/libstdc++.so.6e não/meudir/libstdc++.so.6

informação relacionada