Is there a way to change the UV's origin (bottom-left) on shader?
Yes, you can use a texture matrix. In addition to your model, view, and projection matrices, you can pass a texture matrix to your shader. Before using the UV coordinates, you can multiply them by the matrix and use the result of the multiplication. For something as simple as just a translation, you could just pass a vector with the translation in it, and add that to the UV coords, but a matrix is more general if you change your mind later.