Primeiro, depois de compilar, você está executando ./hello , mas não existe esse arquivo chamado hello . Tente ls para verificar. Você tem arquivos como hello.c e hello.o provavelmente.
Além disso, você está compilando com -c flag que significa que os arquivos de origem são compilados, mas não vinculam. Consulte man gcc para saber mais. Por isso, mesmo que você tente executar ./hello.o , será exibido outro erro
bash: ./hello.o: Permission denied
Para que o executável adequado (com link) compile sem -c flag, como
cc -pedantic -Os hello.c -o hello.o -std=c99
Próxima corrida no terminal,
./hello.o
Agora, na saída, você terá, Hello, World!