Dado que txt é atribuído ao texto que você deseja adicionar e que i é atribuído ao número da linha na qual inserir o texto, isso gerará o resultado desejado:
$ awk -v line="$i" -v text="$txt" '{print} NR==line{print text}' /path/to/textfile
Uma pequena modificação para adicionar text ao número de linha especificado (além do texto já existente), em vez de adicioná-lo após a linha existente i (em uma linha por sua próprio) como o código acima faz:
$ awk -v line="$i" -v text="$txt" ' NR!=line{print} NR==line{print $0 text}' /path/to/textfile