Para realizar algo assim, você precisará colocar algum código no que é chamado de subcomando na maioria dos shells. No Bash, sua notação é $(...some command...) .
Abordagem
$ find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g'
Esse one liner produzirá uma lista de diretórios que contêm um subdiretório /bin dentro deles. Não é 100% perfeito, pois não pode manipular diretórios que contenham espaços em seus nomes, mas se você souber que sua situação está de acordo com essa regra, você poderá usá-la.
Usando o snippet acima, você construiria seu $PATH da seguinte forma:
PATH=$PATH:$(find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g')
Exemplo
Para este exemplo, usarei $MYPATH como um substituto para $PATH . Para começar, temos alguns diretórios já contidos em $MYPATH .
$ MYPATH=/path1/bin:/path2/bin
$ echo $MYPATH
/path1/bin:/path2/bin
Agora, adicione todos os diretórios ~/project*/bin a $MYPATH :
$ MYPATH=$MYPATH:$(find ~ -iregex ".*project.*/bin" | xargs | sed 's/ /:/g')
$ echo $MYPATH
/path1/bin:/path2/bin:/Users/slm/project1/bin:/Users/slm/project2/bin:/Users/slm/project3/bin