#!/usr/bin/env bash
guake --rename-current-tab="tab0" --execute-command="ls" &
sleep 1 && guake --new-tab="my/path" --rename-current-tab="tab1" --execute-command="ls" &
sleep 2 && guake --new-tab="my/path" --rename-current-tab="tab2" --execute-command="ls" &
exit 0
Guake starts one process and a follow up Guake calls are sending instructions to the running process.
Therefore executing the above runs all 3 lines in one go as each one goes into background immediately (ends with &).
(1) start guake and rename default tab;
(2) 1 sec later we send command to open new tab, rename it, run command;
(3) +1 sec later send commands for 3 tab
The key here is to increase sleep after each call, otherwise commands can arrive at random timing and weird stuff will happen