How to make parent shell finish last?

Hi all,
I have a shell that kicks off several sub-shells and make them run parallelly, like:

shell1.sh &
shell2.sh &
shell2.sh &
...

However, since all sub-shells run parallely, the parent shell finished right after it's submitted, like:
$ parent.sh &
$ [2] + Done parant.sh &
$

Though sub-shells are still runing.
Is it possible to make the parent.sh finishes only after all its sub-shells finished and still let the sub-shell runs parallely?

For example:

$ cat parent.sh
./shell1.sh &
./shell2.sh &
./shell3.sh &

wait %1
echo 1 finished
wait %2
echo 2 finished
wait %3
echo 3 finished
# end of parent.sh



$ ./parent.sh &
[1]     4759572

$ jobs
[1] +  Running                 ./parent.sh &

1 finished Tue Dec 8 15:44:05 NFT 2009
2 finished Tue Dec 8 15:44:11 NFT 2009
3 finished Tue Dec 8 15:44:17 NFT 2009


[1] +  Done                    ./parent.sh &

Thanks. I will try.