Os executáveis pesquisam bibliotecas em um conjunto de locais, por exemplo, /lib , /usr/lib , /usr/local/lib , ... então, se você não colocar seu arquivo .so em um desses locais ( /usr/local/lib pode ser um bom lugar), o executável não será executado.
Você pode especificar explicitamente um conjunto de diretórios para pesquisar definindo uma variável de ambiente LD_LIBRARY_PATH contendo os diretórios desejados (incluindo seu diretório de desenvolvimento, por exemplo).