Grep vê o nome do comando que é invocado por 'single-instance' eu adicionei o daemon na opção grep porque alguns programas têm o processo daemon em execução mesmo que sua instância no Gerenciador de Janelas não exista.
#!/bin/bash
if ps -fp $(pgrep -d, "$1") egrep -v "single-instance|daemon" | grep $1;then
wmctrl -xa $1
else
$1
fi
Obrigado Mikel por me guiar para descobrir isso.