Sua substituição sed
one-liner parece funcionar como você pretende:
$ cat t.txt
Hello world
types=""
Mario
types="Game"
$ sed '1,/types=""/s/types=""/types="program"/' t.txt
Hello world
types="program"
Mario
types="Game"
Pode valer a pena editar sua pergunta para mostrar o que você recebe quando você executa o comando sed
(sem a opção -i
para que os resultados sejam impressos no terminal).
BTW, seu intervalo de 1,/types=""/
é redundante. Você pode simplificá-lo como:
sed '/types=""/s/types=""/types="program"/' t.txt