Esse é o vinculador dinâmico; se você executá-lo por conta própria, ele informará o que faz:
Uso: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
Você invocou 'ld.so', o programa auxiliar para executáveis da biblioteca compartilhada. Esse programa geralmente vive no arquivo /lib/ld.so
e diretivas especiais em arquivos executáveis usando bibliotecas compartilhadas ELF dizem ao carregador de programas do sistema para carregar o programa auxiliar a partir desse arquivo. Esse programa auxiliar carrega as bibliotecas compartilhadas necessárias ao executável do programa, prepara o programa para ser executado e o executa. Você pode chamar esse programa auxiliar diretamente da linha de comando para carregar e executar um arquivo executável ELF; isso é como executar o próprio arquivo, mas sempre usa esse programa auxiliar no arquivo especificado, em vez do arquivo de programa auxiliar especificado no arquivo executável que você executa. Isso é útil principalmente para os mantenedores para testar novas versões deste programa auxiliar; é provável que você não tenha a intenção de executar este programa.
O vinculador é usado para executar programas vinculados dinamicamente. Quando você executa chmod
, o kernel é executado efetivamente /lib64/ld-linux-x86-64.so.2 chmod
, como você fez manualmente; o último funciona mesmo que o chmod
binário não seja executável.
Você encontrará muito mais detalhes sobre isso no excelente artigo Como os programas são executados: binários ELF .