Без перезаписи всего файла не получится, так как место для файла выделяется блоками и начало файла должно быть выравнено по началу блока, а строка скорее всего имеет длину не кратную размеру блока файловой системы. А если бы всё-таки имела, то тебе бы понадобилось ковырять файловую систему на физическом уровне, то есть права рута и что-то вроде debugfs.
Хотя может и можно на каких-то файловых системах иметь блок, не заполненный до конца не в конце файла — тогда можно перезаписать только первый блок (но полностью), сместив данные файла ближе к его началу и подредактировать записи файловой системы. Полагаю, тут понадобится C-api и чистым Tcl и тем более sed/awk не обойтись.