Yes, an easy way of doing this is to use virtualisation. You have indicated in your question that this would be acceptable to you.
Simply setup a virtual machine using whatever virtualisation program you choose (i.e. VMware, Parallels, VirtualBox, etc) - and make sure to disable its GPU virtualization (this is usually a simple checkbox that you need to ensure is unchecked).
On VMware Fusion this is achieved in the Settings window under "Display" - make sure that the box "Accelerate 3D graphics" is unchecked.
Note: This will not make the program think that there's no GPU as such. For that you need to remove the virtual GPU as such, which is possible, but would mean that you have no native screen output from the program (which is normally not desirable). If you're running a "server style" application, this could be perfectly acceptable to you.
Also note: Even though the program does not have direct GPU access - ofcourse anything that makes something appear on your monitor is is in some, very slight, form going to be using your GPU. However, for any sane use case of this, you want to cut the program off from running its code on the GPU, and this will achieve that goal.
UPDATE:
From your other questions and comments, I have discovered that your request is really about Minecraft. The rendering system used by Minecraft supports a software renderer (i.e. using the CPU only instead of using the GPU). So without using any macOS specific changes, it is possible to get Minecraft running using a software renderer. Enabling the software renderer is easy (run the Java version with the -Dorg.lwjgl.opengl.Display.allowSoftwareOpenGL=true parameter).
Unfortunately the hardware renderer will always be preferred if available - so you need a way to change that preference. There's no method for that made available to ordinary users, but if you know programming or have a programmer that can help you, it is possible to make that change.