Certo, exit
está afetando o processo que foi submetido a segundo plano, organizando o status de saída zero. Eu não chamaria isso de "matar", já que o processo estava prestes a parar de qualquer maneira.
Execute o comando wpa em segundo plano e mantenha o controle de seu PID para que você não precise usar killall
:
bash -c 'echo $$ > /tmp/pid; exec wpa_supplicant 2>&1 > /tmp/out' &
sleep 1
egrep 'pre-shared key may be incorrect' /tmp/out && kill 'cat /tmp/pid'
Eu sei, o seu comando wpa é um pouco mais longo, abreviado para chamar a atenção para as partes importantes.