Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
1) how could I (in C or C function with ASM) get the users input on my shell? IE: like a get() or something
You need to have a keyboard driver coded and working first, then a function that gets keys from the keyboard driver.
2) is there a working ext2fs bootloader? or a fat that would work on a hdd?
GRUB works with most filesystems out there including FAT and ext2.
3) how would you go about loading another program off of the disk in either FAT or EXT2fs.
I'm assuming this is in PMode... You will need a floppy/hd driver, and then you need to phrase the filesystem to find out where the file(s) are and then copy them off the floppy into memory.