Caros,
Nossa... a thread cresceu alem do esperado! Logo quando eu vi pensei que o Rodrigo não tinha pensado em usar o shift para ler as opções, e a resposta logo em seguida do Itamar estava perfeita. Pronto é isso, "KISS". Varios textões depois eu ainda estou tentando entender porque o Rodrigo quer fazer algo complicado a ponto de impedir que o usuário altere a ordem das opções! Que diferença faz "-p projeto -s subprojeto" de "-s subprojeto -p projeto"?? Salvo as situações onde não se usam "opções" de maneira explicita como por exemplo num comando cp, onde sempre os primeiros parametros são a origem e o último o destino, o padrão é aceitar as opções em qualquer ordem!
Assim tb como indicado pelo Itamar, vc cuida depois da lógica das opções, ou seja, o usuário não pode usar a opção de subprojeto, sem indicar tb a opção de projeto. Algo do tipo: