Você tem que analisar todas as opções (da mesma forma que o comando wrapped), ou então você precisa recorrer à heurística e estar preparado para falhar em muitos casos.
Supondo que você esteja escrevendo:
#! /bin/sh -
# process options
exec cmd "$@"
E cmd aceitam -a , -b , -c com argumento e -n , -p sem argumento e seu wrapper deseja saber qual é o argumento para -c .
Então, qual é o seu wrapper para fazer se o script for chamado como:
wrapper.sh -npc foo
wrapper.sh -b -c -n -ca-c
wrapper.sh -- -cx
Não é possível descobrir qual é o argumento para -c a menos que saiba que -n e -p não aceitam argumentos e -a , -b do.
Você pode usar heurística: procure um argumento que comece com - e contenha c e observe o que vem depois disso, mas isso falhará em todos os exemplos acima (exceto o primeiro, como acontece -n e -p não aceitam argumentos).