You would need to change p2 for each additional copy you want to create.

To explain in a bit more detail: in the code you quoted, p1 is the directory for your original World of Warcraft install. p2 is the directory you want to create for your second copy. The code simply creates a directory for a new copy of WoW (i.e. p2), links your original Data directory to the copy, and copies the WoW program into the copy directory.

Personally, I keep all my copies directly under the Applications directory, so my p2 looks more like:

p2="/Applications/wowcopy2"

I also add

ln -s "$p1/Interface" "$p2/Interface"
ditto -X "$p1/World of Warcraft Launcher.app" "$p2/World of Warcraft Launcher.app"

The first keeps me from having to update my AddOns for every instance of WoW, but it isn't necessary to do that.

I think I needed the Launcher line when I switched my account to battle.net, but it hasn't been necessary since. Besides, you really don't want to fire off WoW from the Launcher in your second copies because everything will get messed up if there's a patch to download and install. You want to use World of Warcraft.app all the time instead.

Finally, I also link my WTF/Account/<account> directories, but that's a pretty personal choice. To do that, you would need to add lines to create the $p2/WTF anf $p2/WTF/Account directories and then link the account-specific subdirectories.

To use the script a second time to create a third WoW, you would just edit it to say something like p2="/Applications/wowcopy3" and run it again.

Oh, and remember that every time there is a patch, you will need to re-run the ditto commands for each of your copies.