There is a simple way you could do this using a python script, however it does not truly create a cloud shadow. For more information on creating a cloud shadow see this paper by Zhu and Woodcock (2014) and the associated literature.
There are most probably built-on methods to shift data in most GIS software;.
If you manage to replicate the result from the paper then please post an update.
In order to estimate how to shift the cloud pixels you will hqve to look at the LANDSAT metadata file for sun angles or just estimate from image.
To move your cloud shadow 2 pixels north:
import numpy as np
cloud_mask = np.random.randint(0,2,(24,24)) # create random cloud mask
cloud_mask = cloud_mask*2
shadow_mask = np.zeros(cloud_mask.shape)
x_shift = -2
y_shift = 0
x_inds = np.where(cloud_mask>0) # indices
y_inds = np.where(cloud_mask>0)
x_inds_shift = x_inds + x_shift
y_inds_shift = y_inds + y_shift
x_inds_shift[np.where(x_inds_shift<0)] = 0 # shift indices
shadow_mask[x_inds_shift, y_inds] = 1
both_mask = cloud_mask+shadow_mask
both_mask[np.where(both_mask==3)] = 2 # shadows == 1, clouds == 2