"Executável" significa apenas "capaz de ser carregado por um carregador". É o carregador responsável pela vinculação dinâmica. O vinculador em tempo de compilação grava informações no cabeçalho do executável sobre quais bibliotecas e símbolos são usados, e o carregador lê essas informações para realizar a vinculação.