Em primeiro lugar, você está pedindo uma impossibilidade matemática, mas vou ignorá-la.
A coisa básica que você faz é muito simples:
[ ! -e split ] &&
set ./*/ &&
while mkdir split && [ 4 -lt "$#" ]
do mv "$1" "$2" "$3" "$4" "$5" split
mv split "${1%/}"
shift 5
done&& mv "$@" split && mv split "${1%/}"
Porque você não especifica qualquer tipo de nome ou similar que tome algum cuidado para evitar sobrescrever qualquer coisa, e acaba movendo apenas todos os 5 diretórios como classificados lexicograficamente em um diretório nomeado para cada 5. Isto é, faz isso se não houver nenhum arquivo ou diretório no diretório atual chamado split