Came here for the same reason. But for me it's the client.
After following your instructions with the jar, I ended up with the following error. I assume to have chosen the right jar
-jar "${lminecraft_library_path}/net/minecraftforge/forge/1.20.4-49.0.3/forge-1.20.4-49.0.3-shim.jar"
Minecraft 1.20.4
Forge: 1.20.4 - 49.0.3
;--- cut here ---
[7.633s][info][class,load] cpw.mods.jarhandling.SecureJar$ModuleDataProvider source: file:/home/habibiboy/.minecraft/libraries/net/minecraftforge/securemodules/2.2.7/securemodules-2.2.7.jar
[7.636s][info][class,load] java.security.CodeSigner source: jrt:/java.base
[7.636s][info][class,load] java.nio.file.spi.FileSystemProvider$1 source: jrt:/java.base
[7.637s][info][class,load] java.util.ServiceLoader source: shared objects file
[7.639s][info][class,load] java.util.ServiceLoader$ModuleServicesLookupIterator source: shared objects file
[7.639s][info][class,load] java.util.Spliterators$ArraySpliterator source: shared objects file
[7.640s][info][class,load] java.util.Spliterators$1Adapter source: shared objects file
[7.643s][info][class,load] java.util.Arrays$ArrayList source: shared objects file
[7.648s][info][class,load] java.util.concurrent.CopyOnWriteArrayList$COWIterator source: shared objects file
[7.649s][info][class,load] java.util.ServiceLoader$LazyClassPathLookupIterator source: shared objects file
[7.649s][info][class,load] java.util.ServiceLoader$2 source: shared objects file
[7.649s][info][class,load] java.util.ServiceLoader$3 source: shared objects file
[7.652s][info][class,load] jdk.internal.module.ModulePatcher$PatchedModuleReader source: jrt:/java.base
[7.654s][info][class,load] sun.net.www.protocol.jrt.Handler source: jrt:/java.base
[7.663s][info][class,load] jdk.nio.zipfs.ZipFileSystemProvider source: jrt:/jdk.zipfs
[7.667s][info][class,load] java.nio.file.FileSystemNotFoundException source: jrt:/java.base
[7.672s][info][class,load] jdk.nio.zipfs.ZipFileSystem source: jrt:/jdk.zipfs
[7.675s][info][class,load] java.lang.UnsupportedOperationException source: jrt:/java.base
[7.676s][info][class,load] java.util.zip.ZipException source: jrt:/java.base
[7.677s][info][class,load] java.nio.file.ProviderMismatchException source: jrt:/java.base
[7.680s][info][class,load] java.nio.file.AccessMode source: jrt:/java.base
[7.681s][info][class,load] java.nio.file.DirectoryStream$Filter source: jrt:/java.base
[7.683s][info][class,load] java.nio.file.DirectoryStream source: jrt:/java.base
[7.684s][info][class,load] java.nio.file.FileStore source: jrt:/java.base
[7.688s][info][class,load] java.util.concurrent.Executor source: shared objects file
[7.688s][info][class,load] java.util.concurrent.ExecutorService source: shared objects file
[7.690s][info][class,load] java.nio.channels.AsynchronousChannel source: jrt:/java.base
[7.690s][info][class,load] java.nio.channels.AsynchronousFileChannel source: jrt:/java.base
[7.691s][info][class,load] java.util.ServiceLoader$1 source: shared objects file
[7.692s][info][class,load] java.util.ServiceLoader$Provider source: shared objects file
[7.692s][info][class,load] java.util.ServiceLoader$ProviderImpl source: shared objects file
[7.693s][info][class,load] jdk.internal.reflect.DirectConstructorHandleAccessor source: shared objects file
[7.695s][info][class,load] jdk.internal.jrtfs.JrtFileSystemProvider source: jrt:/java.base
[7.699s][info][class,load] java.util.Collections$EmptyEnumeration source: shared objects file
[7.699s][info][class,load] jdk.internal.loader.BuiltinClassLoader$1 source: shared objects file
[7.700s][info][class,load] java.lang.CompoundEnumeration source: shared objects file
[7.701s][info][class,load] jdk.internal.loader.URLClassPath$1 source: shared objects file
[7.702s][info][class,load] sun.net.www.protocol.jrt.JavaRuntimeURLConnection source: jrt:/java.base
[7.710s][info][class,load] sun.net.www.protocol.jrt.JavaRuntimeURLConnection$$Lambda/0x00007f5d70055728 source: sun.net.www.protocol.jrt.JavaRuntimeURLConnection
[7.719s][info][class,load] sun.net.www.protocol.jrt.JavaRuntimeURLConnection$1 source: jrt:/java.base
[7.720s][info][class,load] jdk.internal.jimage.ImageBufferCache source: jrt:/java.base
[7.722s][info][class,load] jdk.internal.jimage.ImageBufferCache$1 source: jrt:/java.base
[7.723s][info][class,load] jdk.internal.jimage.ImageBufferCache$2 source: jrt:/java.base
[7.724s][info][class,load] java.util.AbstractMap$SimpleEntry source: jrt:/java.base
[7.727s][info][class,load] java.util.LinkedHashMap$LinkedKeySet source: jrt:/java.base
[7.731s][info][class,load] java.util.LinkedHashMap$LinkedHashIterator source: shared objects file
[7.731s][info][class,load] java.util.LinkedHashMap$LinkedKeyIterator source: jrt:/java.base
[7.732s][info][class,load] java.util.Collections$UnmodifiableList source: shared objects file
[7.732s][info][class,load] java.util.Collections$UnmodifiableRandomAccessList source: shared objects file
[7.736s][info][class,load] java.lang.invoke.LambdaForm$DMH/0x00007f5d7000c400 source: __JVM_LookupDefineClass__
[7.741s][info][class,load] cpw.mods.jarhandling.impl.Jar$$Lambda/0x00007f5d7000adb0 source: cpw.mods.jarhandling.impl.Jar
[7.746s][info][class,load] cpw.mods.jarhandling.impl.Jar$$Lambda/0x00007f5d7000aff8 source: cpw.mods.jarhandling.impl.Jar
[7.748s][info][class,load] java.lang.ExceptionInInitializerError source: jrt:/java.base
[7.749s][info][class,load] java.lang.StackTraceElement$HashedModules source: jrt:/java.base
[7.751s][info][class,load] java.lang.invoke.WrongMethodTypeException source: jrt:/java.base
[7.751s][info][class,load] java.lang.reflect.InvocationTargetException source: jrt:/java.base
Exception in thread "main" [7.758s][info][class,load] java.lang.Throwable$PrintStreamOrWriter source: jrt:/java.base
[7.759s][info][class,load] java.lang.Throwable$WrappedPrintStream source: jrt:/java.base
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at net.minecraftforge.bootstrap.shim.Main.main(Main.java:94)
Caused by: java.lang.ExceptionInInitializerError
at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:64)
at cpw.mods.jarhandling.SecureJar.from(SecureJar.java:60)
at net.minecraftforge.bootstrap.ClassPathHelper.getCleanedClassPathImpl(ClassPathHelper.java:178)
at net.minecraftforge.bootstrap.ClassPathHelper.getCleanedClassPath(ClassPathHelper.java:46)
at net.minecraftforge.bootstrap.Bootstrap.start(Bootstrap.java:28)
at net.minecraftforge.bootstrap.ForgeBootstrap.main(ForgeBootstrap.java:18)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
... 2 more
Caused by: java.lang.IllegalStateException: Couldn't find UnionFileSystemProvider
at cpw.mods.jarhandling.impl.Jar.lambda$static$1(Jar.java:48)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at cpw.mods.jarhandling.impl.Jar.<clinit>(Jar.java:48)
... 9 more
[7.783s][info][class,load] java.util.IdentityHashMap$IdentityHashMapIterator source: shared objects file
[7.784s][info][class,load] java.util.IdentityHashMap$KeyIterator source: shared objects file
[7.787s][info][class,load] java.lang.Shutdown source: shared objects file
[7.789s][info][class,load] java.lang.Shutdown$Lock source: shared objects file
;--- cut here ---
I tried various things here. Java 17, then Java 21, Searched for missing objects, used strace -ff java ... and so on. The securejar class is there, accessible, permissions all fine. Still running into this issue.