¿Cómo iterar sobre archivos en un directorio con Bash?

Necesito escribir un script que inicie mi programa con diferentes argumentos, pero soy nuevo en Bash. Comienzo mi programa de esta manera:

./MyProgram.exe Data/data1.txt [Logs/data1_Log.txt].

Aquí está el pseudocódigo para lo que quiero hacer:

for each filename in /Data do
  for int i = 0, i = 3, i++
    ./MyProgram.exe Data/filename.txt Logs/filename_Log{i}.txt
  end if
end for

Así que estoy realmente desconcertado sobre cómo crear un segundo argumento a partir del primero, por lo que parece dataABCD_Log1.txt y comenzar mi programa. Se aprecia mucho la ayuda.

PD Sé que hay preguntas similares, pero no encontré nada al crear mi nombre de archivo de registro.

Respuestas a la pregunta(5)

Su respuesta a la pregunta