I am already familiar with sleep and usleep commands. But I am not sure how to use them for parallel commands which are supposed to have a certain delay with respect to the start time of the previous command. I mean something like this (commands 1 to n are supposed to be run in parallel with a delay between their start time):
Command 1's start time: 0
Command 2's start time: 0+d
Command 3's start time: 0+2d
.
.
.
Command n's start time: 0+(n-1)d