Desde que a lista de parâmetros que você alimenta ao loop seja (ou possa ser expandida pelo shell em) strings legítimas, em outras palavras, você obtém a sintaxe para qualquer expansão de shell correta, então não há realmente nenhum limite, nada vai.
Depois de expandir a lista de parâmetros, o bash apenas os alimenta no loop e permite que o código no loop seja executado.
Não é uma boa prática fazer isso e dificultar seu código, mas não é "inválido".