Eu não acho que você possa impedir a pesquisa de bibliotecas no caminho do sistema em tempo de execução, mas de acordo com a página man ld.so, se você vincular o binário com -z nodeflib
, o vinculador dinâmico não pesquisará o sistema caminho da biblioteca. Eu não vejo isso na man page de ld, então não sei se isso é realmente suportado.
Outra ideia: procure usar um sistema de contêineres como o docker. Isso é semelhante a uma máquina virtual leve, na qual você pode ter sua própria visualização de sistema de arquivos separada do host e pode simplesmente colocar as versões de biblioteca desejadas no contêiner. Ele também funciona para outras coisas além de bibliotecas compartilhadas, como as versões JVM / python e assim por diante. Eu mesmo não usei muito, mas meu entendimento é que ele é adequado para esses tipos de aplicativos.