Quando você compila um arquivo de código-fonte, o arquivo binário de saída recém-gerado tem as permissões rw-r--r-- e não é executável, pois não há x na string.
Torne-o executável executando
chmod +x hello
preceda o comando com sudo , se necessário. Depois disso, execute o binário com ./hello .