Este é um exercício trivial no uso de while :
n=0
while ! mkdir dir$n
do
n=$((n+1))
done
Mas é claro que não é preciso pensar muito para perceber que esse mecanismo trivial não se adapta bem.
Então, em vez de reinventar a roda e ter que raspar todos os cantos novamente, criamos diretórios temporários exclusivos de um modelo de maneira um pouco diferente:
name=$(mktemp -d dirXXXXXXXXXXX)