Você deve escapar do "&" caractere do lado direito do comando s
adicionando um "\" antes dele. Sem isso, "&" é especial e é substituído pelo que é correspondido pela expressão regular. No lado esquerdo, "&" não é especial e é garantido que não é especial. Você não quer escapar, pois &
nunca seria especial, \&
não é garantido e o que corresponde não é especificado.
Então:
sed -i 's/s&/l\&/g' file.txt