Isso basicamente depende se as bibliotecas dinâmicas são carregadas na inicialização do programa (que seria o comportamento normal com ld.so) ou preguiçosamente quando o código que precisa delas é executado primeiro. No primeiro caso, o programa terminará com um erro muito cedo. No segundo caso, pode não executar o código que precisa da biblioteca dinâmica e ser executado com êxito. Um exemplo do segundo caso seria um programa de processamento de arquivos de áudio que carrega codecs de áudio dependendo do tipo de arquivo. Se você não tiver um codec de mp3 instalado, ele ainda poderá funcionar com outros tipos de arquivo. (O comentário de muru aponta para uma questão em que isso é discutido mais profundamente)