The decoder is generating an output by predicting each token one after the other with:

the encoder hidden state form the inputs
the previously predicted tokens of the outputs.

But for the very first token, there is no already previously predicted tokens, so we feed it a special token, which might be the pad token, or a special “beginning of stream” (bos) token. This part depends on the exact model.
That’s why the decoder inputs are the labels shifted by one with this special token at the start.