Você pode passar comandos para o gdb na linha de comando com a opção -ex
. Você precisa repetir isso para cada comando. Isso pode ser útil quando o programa precisa ler stdin para que você não queira redirecioná-lo. Por exemplo, para od -c
echo abc |
gdb -ex 'break main' -ex 'run -c' -ex bt -ex cont -ex quit od
Então, em particular para sua pergunta, você pode usar:
gdb -ex 'run arg1 arg2' -ex bt -ex quit ./program