Megnéztem a lemonbar forrását - bocsánat, tévedtem.
A fifo-val működő megoldásnak teljesen más oka van. A fifo ebben az esetben csak egy buffer, amibe aszinkron lehet írogatni a parancsokat, majd egyszerre bezuttyantani őket a lemonbar felé.
{
...
echo parancs1 >fifo &
...
echo parancs2 >fifo &
...
cat fifo
} | lemonbar
A printf "%s\n" < fifo extra \n karaktert ír a parancsok után. Itt jobb a cat vagy a printf "%s".
Mégegyszer végigolvastam a kérdést. Talán egy kicsit túlbonyolítod a dolgot. A sleep nem alkalmas pontos időzítésre, nem így kellene megoldani, meg még lőni is rá. ;)
Inkább eseményvezéreltté kellene alakítani a programodat. A sleep lejárta is egy esemény, meg a hirtelen tennivaló is esemény - mindegyik írhat azonnal, ha kell.