Como iterar sobre arquivos em um diretório com o Bash?

Preciso escrever um script que inicie meu programa com argumentos diferentes, mas sou novo no Bash. Eu inicio meu programa assim:

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

Aqui está o pseudocódigo para o que eu quero fazer:

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

Então, eu estou realmente intrigado em como criar o segundo argumento a partir do primeiro, para que pareça com dataABCD_Log1.txt e inicie meu programa. Ajuda é muito bem vinda.

P.S. Sei que existem perguntas semelhantes por aí, mas não encontrei nada sobre como criar meu nome de arquivo de log.

questionAnswers(5)

yourAnswerToTheQuestion