If you’re going to be making it like the original snake game (in that the blocks instantly move to the next grid tile rather than moving smoothly), the simplest way to do it is actually to take the block at the tail end of the snake and move it to the front (the current head position + one block’s size in the current movement direction), making it the new head.
This way is much easier than moving every one of the blocks forward one space, especially when “forward” can be different for each block. Doing it this way, there’s no distinction between the snake’s body and head segments.