Eu não acho que a permissão negada esteja necessariamente falando sobre os bits de permissões tradicionais (rwx ..), em vez disso, eu suspeitaria de algo como o SELinux ou o AppArmor, o que pode estar negando o acesso ao processo.
Eu não tenho acesso a um sistema ArchLinux, mas há algo similar no Fedora que é discutido aqui neste tópico do Fedora Wiki: Recursos / SELinuxDenyPtrace .
Aqui eles estão bloqueando o acesso ao ptrace através do SELinux, então você pode querer tentar desabilitar o SELinux ou o AppArmor que o ArchLinux está usando.
Qual foi a sua tentativa para mim
Eu testei o seu código no meu sistema Fedora 19 e, além de precisar instalar alguns RPMs debuginfo adicionais, funcionou como você esperava.
Exemplo
Compile seu código.
$ gcc -g test.c
Ran o binário resultante em gdb
.
$ gdb a.out
GNU gdb (GDB) Fedora 7.6.1-46.fc19
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/saml/tst/106912/a.out...done.
(gdb) break main
Breakpoint 1 at 0x40053f: file test.c, line 4.
(gdb) run
Starting program: /home/saml/tst/106912/a.out
Breakpoint 1, main (argc=1, argv=0x7fffffffd698) at test.c:4
4 printf("1\n");
Missing separate debuginfos, use: debuginfo-install glibc-2.17-20.fc19.x86_64
(gdb) quit
A debugging session is active.
Inferior 1 [process 13341] will be killed.
Quit anyway? (y or n) y
O depurador reclamou que eu estava perdendo o debuginfos para o glibc, então eu os instalei.
$ sudo debuginfo-install glibc-2.17-20.fc19.x86_64
Agora, quando eu executar novamente o gdb
$ gdb a.out
GNU gdb (GDB) Fedora 7.6.1-46.fc19
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/saml/tst/106912/a.out...done.
(gdb) break main
Breakpoint 1 at 0x40053f: file test.c, line 4.
(gdb) run
Starting program: /home/saml/tst/106912/a.out
Breakpoint 1, main (argc=1, argv=0x7fffffffd698) at test.c:4
4 printf("1\n");
(gdb)