One way to do it is to just use shadowmapping, use a scene capture to render a depth view from the lightsource and in your raymarch loop you would check to see if the position at the current step is shadowed or not. Then you would need to consider that when you accumulate all your samples.
This really isn’t something for beginners but there are probably code examples if you search ShaderToy.